package cn.rkylin.oms.system.user.service;

import java.util.List;
import java.util.Map;

import com.github.pagehelper.PageInfo;

import cn.rkylin.oms.system.user.domain.WF_ORG_USER;
import cn.rkylin.oms.system.user.vo.UserVO;

/**
 * 用户服务接口层
 * @author wangxiaoyi
 *
 */
public interface IUserService {
    PageInfo<UserVO> findByWhere(int page, int length, UserVO param, boolean needUserUnits, boolean needUserStation, boolean needUserRoles,
            boolean needUserExtInfo) throws Exception;

    void saveUser(WF_ORG_USER userVO, String saveType, String table, String idColumnName) throws Exception;

    void lockUser(String userID, String isLocked) throws Exception;

    void deleteUser(List delUserIdList, String extTableName, String idColumnName) throws Exception;

    WF_ORG_USER getUserDetail(String userID) throws Exception;

    List getUserByCondition(WF_ORG_USER userParam, boolean needUserUnits, boolean b, boolean needUserRoles, boolean needUserExtInfo)
            throws Exception;

    Map<String, Object> changePassword(String oldPassword, String newPassword) throws Exception;
}
